home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / g_man / cat3 / OpenGL / glxselectevent.z / glxselectevent
Encoding:
Text File  |  2001-04-17  |  10.5 KB  |  200 lines

  1.  
  2.  
  3.  
  4. ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt((((3333GGGG))))          OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX          ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt - select GLX events for a window or a GLX pixel buffer
  10.  
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      void ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt( Display *_d_p_y,
  14.                           GLXDrawable _d_r_a_w_a_b_l_e,
  15.                           unsigned long _e_v_e_n_t__m_a_s_k )
  16.  
  17.  
  18. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  19.      _d_p_y         Specifies the connection to the X server.
  20.  
  21.      _d_r_a_w_a_b_l_e    Specifies a GLX drawable. Must be a GLX pixel buffer or a
  22.                  window.
  23.  
  24.      _e_v_e_n_t__m_a_s_k  Specifies the events to be returned for _d_r_a_w_a_b_l_e.
  25.  
  26.  
  27. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  28.      ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt sets the GLX event mask for a GLX pixel buffer or a
  29.      window. Calling ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt overrides any previous event mask that was
  30.      set by the client for _d_r_a_w_a_b_l_e. Note that it does not affect the event
  31.      masks that other clients may have specified for _d_r_a_w_a_b_l_e since each
  32.      client rendering to _d_r_a_w_a_b_l_e has a separate event mask for it.
  33.  
  34.      Currently, only one GLX event, GGGGLLLLXXXX____PPPPBBBBUUUUFFFFFFFFEEEERRRR____CCCCLLLLOOOOBBBBBBBBEEEERRRR____MMMMAAAASSSSKKKK, can be selected.
  35.      The following data is returned to the client when a
  36.      GGGGLLLLXXXX____PPPPBBBBUUUUFFFFFFFFEEEERRRR____CCCCLLLLOOOOBBBBBBBBEEEERRRR____MMMMAAAASSSSKKKK event occurs:
  37.  
  38.      typdef struct {
  39.          int _e_v_e_n_t__t_y_p_e;             /* GLX_DAMAGED or GLX_SAVED */
  40.          int _d_r_a_w__t_y_p_e;              /* GLX_WINDOW or GLX_PBUFFER */
  41.          unsigned long _s_e_r_i_a_l;       /* # of last request processed by server */
  42.          Bool _s_e_n_d__e_v_e_n_t;            /* true if this came for SendEvent request */
  43.          Display *_d_i_s_p_l_a_y;           /* display the event was read from */
  44.          GLXDrawable _d_r_a_w_a_b_l_e;       /* i.d. of Drawable */
  45.          unsigned int _b_u_f_f_e_r__m_a_s_k;   /* mask indicating affectedbuffers */
  46.          int _x, _y;
  47.          int _w_i_d_t_h, _h_e_i_g_h_t;
  48.          int _c_o_u_n_t;                  /* if nonzero, at least this many more */
  49.      } GLXPbufferClobberEvent;
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt((((3333GGGG))))          OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX          ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      The valid bit masks used in _b_u_f_f_e_r__m_a_s_k are:
  75.  
  76.                _____________________________________________________
  77.                BBBBiiiittttmmmmaaaasssskkkk                      CCCCoooorrrrrrrreeeessssppppoooonnnnddddiiiinnnngggg BBBBuuuuffffffffeeeerrrr
  78.                _____________________________________________________
  79.                GGGGLLLLXXXX____FFFFRRRROOOONNNNTTTT____LLLLEEEEFFFFTTTT____BBBBUUUUFFFFFFFFEEEERRRR____BBBBIIIITTTT    Front left color buffer
  80.                GGGGLLLLXXXX____FFFFRRRROOOONNNNTTTT____RRRRIIIIGGGGHHHHTTTT____BBBBUUUUFFFFFFFFEEEERRRR____BBBBIIIITTTT   Front right color buffer
  81.                GGGGLLLLXXXX____BBBBAAAACCCCKKKK____LLLLEEEEFFFFTTTT____BBBBUUUUFFFFFFFFEEEERRRR____BBBBIIIITTTT     Back left color buffer
  82.                GGGGLLLLXXXX____BBBBAAAACCCCKKKK____RRRRIIIIGGGGHHHHTTTT____BBBBUUUUFFFFFFFFEEEERRRR____BBBBIIIITTTT    Back right color buffer
  83.                GGGGLLLLXXXX____AAAAUUUUXXXX____BBBBUUUUFFFFFFFFEEEERRRRSSSS____BBBBIIIITTTT          Auxillary buffer
  84.                GGGGLLLLXXXX____DDDDEEEEPPPPTTTTHHHH____BBBBUUUUFFFFFFFFEEEERRRR____BBBBIIIITTTT         Depth buffer
  85.                GGGGLLLLXXXX____SSSSTTTTEEEENNNNCCCCIIIILLLL____BBBBUUUUFFFFFFFFEEEERRRR____BBBBIIIITTTT       Stencil buffer
  86.                GGGGLLLLXXXX____AAAACCCCCCCCUUUUMMMM____BBBBUUUUFFFFFFFFEEEERRRR____BBBBIIIITTTT         Accumulation buffer
  87.                _____________________________________________________
  88.  
  89.      A single X server operation can cause several buffer clobber events to be
  90.      sent. (e.g., a single GLX pixel buffer may be damaged and cause multiple
  91.      buffer clobber events to be generated). Each event specifies one region
  92.      of the GLX drawable that was affected by the X Server operation. The
  93.      _b_u_f_f_e_r__m_a_s_k field indicates which color buffers and ancillary buffers
  94.      were affected. All the buffer clobber events generated by a single X
  95.      server action are guaranteed to be contiguous in the event queue. The
  96.      conditions under which this event is generated and the _e_v_e_n_t__t_y_p_e varies,
  97.      depending on the type of the GLX drawable.
  98.  
  99.      When the GGGGLLLLXXXX____AAAAUUUUXXXX____BBBBUUUUFFFFFFFFEEEERRRRSSSS____BBBBIIIITTTT is set in _b_u_f_f_e_r__m_a_s_k, then _a_u_x__b_u_f_f_e_r is
  100.      set to indicate which buffer was affected. If more than one aux buffer
  101.      was affected, then additional events are generated as part of the same
  102.      contiguous event group. Each additional event will have only the
  103.      GGGGLLLLXXXX____AAAAUUUUXXXX____BBBBUUUUFFFFFFFFEEEERRRRSSSS____BBBBIIIITTTT set in _b_u_f_f_e_r__m_a_s_k, and the _a_u_x__b_u_f_f_e_r field will be
  104.      set appropriately. For nonstereo drawables, GGGGLLLLXXXX____FFFFRRRROOOONNNNTTTT____LLLLEEEEFFFFTTTT____BBBBUUUUFFFFFFFFEEEERRRR____BBBBIIIITTTT and
  105.      GGGGLLLLXXXX____BBBBAAAACCCCKKKK____LLLLEEEEFFFFTTTT____BBBBUUUUFFFFFFFFEEEERRRR____BBBBIIIITTTT are used to specify the front and back color
  106.      buffers.
  107.  
  108.      For preserved GLX pixel buffers, a buffer clobber event with type
  109.      GGGGLLLLXXXX____SSSSAAAAVVVVEEEEDDDD is generated whenever the contents of the GLX pixel buffer is
  110.      moved out of offscreen memory. The event(s) describes which portions of
  111.      the GLX pixel buffer were affected. Clients who receive many buffer
  112.      clobber events, referring to different save actions, should consider
  113.      freeing the GLX pixel buffer resource in order to prevent the system from
  114.      thrashing due to insufficient resources.
  115.  
  116.      For an unpreserved GLXPbuffer, a buffer clobber event, with type
  117.      GGGGLLLLXXXX____DDDDAAAAMMMMAAAAGGGGEEEEDDDD, is generated whenever a portion of the GLX pixel buffer
  118.      becomes invalid. The client may wish to regenerate the invalid portions
  119.      of the GLX pixel buffer.
  120.  
  121.      For Windows, buffer clobber events, with type GGGGLLLLXXXX____SSSSAAAAVVVVEEEEDDDD, occur whenever
  122.      an ancillary buffer, associated with the window, gets clobbered or moved
  123.      out of offscreen memory. The event contains information indicating which
  124.      color buffers and ancillary buffers-and which portions of those buffers-
  125.      were affected.
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt((((3333GGGG))))          OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX          ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt((((3333GGGG))))
  137.  
  138.  
  139.  
  140. NNNNOOOOTTTTEEEESSSS
  141.      ggggllllXXXXSSSSeeeelllleeeeccccttttEEEEvvvveeeennnntttt is available only if the GLX version is 1.3 or greater.
  142.  
  143.      If the GLX version is 1.1 or 1.0, the GL version must be 1.0.  If the GLX
  144.      version is 1.2, then the GL version must be 1.1.  If the GLX version is
  145.      1.3, then the GL version must be 1.2.
  146.  
  147. EEEERRRRRRRROOOORRRRSSSS
  148.      GGGGLLLLXXXXBBBBaaaaddddDDDDrrrraaaawwwwaaaabbbblllleeee is generated if _d_r_a_w_a_b_l_e is not a valid window or a valid
  149.      GLX pixel buffer.
  150.  
  151. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  152.      ggggllllXXXXGGGGeeeettttSSSSeeeelllleeeecccctttteeeeddddEEEEvvvveeeennnntttt
  153.  
  154.  
  155. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  156.      ggggllllXXXXCCCCrrrreeeeaaaatttteeeePPPPbbbbuuuuffffffffeeeerrrr
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.